package com.spring.core.metrics;

import java.util.function.Supplier;

/**
 * @author liyuncong
 * @version 1.0
 * @file DefaultApplicationStartup
 * @brief DefaultApplicationStartup
 * @details DefaultApplicationStartup
 * @date 2022-12-08
 *
 * Edit History
 * ----------------------------------------------------------------------------
 * DATE                     NAME               DESCRIPTION
 * 2022-12-08               liyuncong          Created
 */
public class DefaultApplicationStartup implements ApplicationStartup {

    private static final DefaultStartupStep DEFAULT_STARTUP_STEP = new DefaultStartupStep();

    @Override
    public StartupStep start(String name) {
        return DEFAULT_STARTUP_STEP;
    }

    static class DefaultStartupStep implements StartupStep {

        @Override
        public String getName() {
            return null;
        }

        @Override
        public long getId() {
            return 0;
        }

        @Override
        public Long getParentId() {
            return null;
        }

        @Override
        public StartupStep tag(String key, String value) {
            return null;
        }

        @Override
        public StartupStep tag(String key, Supplier<String> value) {
            return null;
        }

        @Override
        public Tags getTags() {
            return null;
        }

        @Override
        public void end() {

        }
    }
}
